package com.jagochan.imchat.module.websocket.service;

import io.netty.channel.Channel;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;

public interface WebSocketService {
    void connect(Channel channel);

    void requestLoginQrCodeUrl(Channel channel) throws WxErrorException;

    /**
     * 清除在线用户和Channel的缓存
     *
     * @param channel 通道
     */
    void remove(Channel channel);

    /**
     * 用户扫码登陆二维码后
     *
     * @param code 场景值（根据它可以获取到当前的Channel）
     */
    void waitAuthorize(Integer code);

    void scanLoginSuccess(Integer code, Long id);

    /**
     * 客户端通过token认证
     *
     * @param channel
     * @param token   登陆令牌
     */
    void authorize(Channel channel, String token);
}
